/*PUT 和 POST 请求一般都是表单数据, 最好加一个请求头*/

function ajaxGet(url,params,callback) {
    let xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
        if(xhr.readyState == 4 && xhr.status == 200){
            //回调函数
            callback(xhr.responseText);
        }
    }
// get方法传数据, 要在url后加 ?name=aaa的形式传递
    xhr.open("GET", params ? url + "?" + params : url, true);
    xhr.send(null);
}

function ajaxPost(url, params, callback) {
    let xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
        if(xhr.readyState == 4 && xhr.status == 200){
            //回调函数
            callback(xhr.responseText);
        }
    }
    xhr.open("POST", url, true);
    //POST传递值的时候, 必须要设置请求头(必须在open函数之后)
    xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    //Post方法传递数据, 需要按照一定的格式来作为send方法的参数
    xhr.send(params);
}

function ajaxDelete(url, params, callback) {
    let xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
        if(xhr.readyState == 4 && xhr.status == 200){
            //回调函数
            callback(xhr.responseText);
        }
    }
    xhr.open("DELETE", params ? url + "?" + params : url, true);
    xhr.send(null);
}

function ajaxUpdate(url, params, callback) {
    let xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
        if(xhr.readyState == 4 && xhr.status == 200){
            //回调函数
            callback(xhr.responseText);
        }
    }
    xhr.open("PUT", url, true);
    xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xhr.send(params);
}